It appeared to be running, and doing its job, but
occasionally doing nothing. It was running for sure
actually because it would stop in the right place without
overshooting at all, and then randomly it would just coast
way past the soft limit, like an inch past it.
I actually did some testing yesterday with
adjustsoftlimits completely removed, and only my init
thread running and the problem existed even then. It would
stop at soft limit most all the time, with a slight
overshoot based on speed which is expected. But every now
and then (maybe 1 in 10 times or less) it would go way
past it (like an inch) and just coast slowly to a stop. As
if a feedhold was never applied at all. Very strange.
Since including adjustsoftlimits in my init again and
checking distance to stop immediately after the mpg move
commands it appears to be working perfectly.